import axios from 'axios'

//创建请求对象
export const request = axios.create({
    baseURL: 'https://conduit.productionready.io'
})

//通过插件机制 获取上下文对象（query,parames,req,res,store...)
// 插件导出函数必须作为 default 成员
export default ({ store }) => {
    //请求拦截器
    request.interceptors.request.use(function (config) {// 在发送请求之前做些什么
        const { user } = store.state
        if(user && user.token){
            config.headers.Authorization = `Token ${store.state.user.token}`
        }
        
        return config;
    }, function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    });

    // 添加响应拦截器
    request.interceptors.response.use(function (response) {
        // 对响应数据做点什么
        return response;
    }, function (error) {
        // 对响应错误做点什么
        return Promise.reject(error);
    });

}

